﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace GeoSketch2.Archaeo
{
    /// <summary>
    /// The base class for all soilsheet template
    /// </summary>
    public abstract class BaseSoilSheet
    {
        #region XMLElementsName
#pragma warning disable 1591
        public const string XML_SoilSheet = "SoilSheet";
        public const string XML_Template = "Template";
#pragma warning restore 1591
        #endregion

        #region Fields
        /// <summary>
        /// The excavation unit of the soil sheet
        /// </summary>
        public ExcavationArea Area; 
        #endregion

        #region Methods
        public abstract BaseSoilSheet GetNew();

        /// <summary>
        /// Shows the form associated to the soil sheet
        /// </summary>
        public abstract void ShowForm();

        /// <summary>
        /// Writes the object to a file
        /// </summary>
        /// <param name="Xw">The XmlWriter to write to</param>
        public abstract void ToFile(XmlWriter Xw); 
        #endregion
    }
}
